The present invention relates to an operation unit for calculating floating point data of a computer and, more particularly, to an operation unit suitable for executing such a scientific technique calculation program described in a high-level language as is suitable for numerical simulation of physical phenomena.
In the execution of such a floating point calculation train, immigration of an error into initial data based on the finiteness of data length, and occurrence, propagation and amplification of a rounding error of each calculation are unavoidable on principle. Hence, evaluation of the error amount for ensuring reliability of the calculation result is indispensable for the numerical calculation.
Here, the evaluation of the error amount is roughly divided into analytic and dynamic methods. Noting the function to solve a calculation train such as a simultaneous linear equation, the analytic method evaluates the error based on a global index such as the number of conditions of a coefficient matrix but does not enter into the detail of the calculation train so that it is convenient and has an excellent prospect. However, the analytic method has its applicable range limited partially to calculations having known functions and properties and has a tendency to make a worse evaluation than the actual one. In most cases, therefore, the dynamic method piling the evaluations while sequentially following the individual processes of the calculation is adopted. In one convenient phase, the dynamic method additionally executes a long precision calculation, in which the data length is doubled, and compares the results. The dynamic method is entangled with problems of explosive increase in the time period and data amount required for the long precision calculation. As methods for avoiding those problems, there are known the "method of giving perturbations to input data and arithmetically intermediate data to observe the influences" and the "method based on partial derivative calculations according to the graph theory". In either method, however, the direction and amount of the perturbations or the error amount occurring in each calculation are statistically assumed. There is still left a problem of a failure in evaluating the actual error for the calculations using the individual data although the dynamic method is proper for evaluating the stability of the calculation method.